package com.jeesite.modules.task.action.entity;

import javax.validation.constraints.Size;
import com.jeesite.common.entity.BaseEntity;

import com.jeesite.common.entity.DataEntity;
import com.jeesite.common.mybatis.annotation.Column;
import com.jeesite.common.mybatis.annotation.Table;
import com.jeesite.common.mybatis.mapper.query.QueryType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 任务部署分发表Entity
 * @author zrr
 * @version 2022-03-03
 */
@ApiModel(description = "任务部署分发表Entity")
@Table(name="dc_sup_task_action", alias="a", label="任务部署分发表信息", columns={
		@Column(name="id", attrName="id", label="主键", isPK=true),
		@Column(name="task_id", attrName="taskId", label="任务id"),
		@Column(name="leader_org_code", attrName="leaderOrgCode", label="牵头责任单位编号"),
		@Column(name="leader_org_name", attrName="leaderOrgName", label="牵头责任单位名称", queryType=QueryType.LIKE),
		@Column(name="transfer_flag", attrName="transferFlag", label="是否转发"),
		@Column(name="transfer_org_code", attrName="transferOrgCode", label="转发单位编号"),
		@Column(name="transfer_org_name", attrName="transferOrgName", label="转发单位名称", queryType=QueryType.LIKE),
		@Column(name="explain_flag", attrName="explainFlag", label="是否批示"),
		@Column(name="explain_content", attrName="explainContent", label="领导批示"),
		@Column(name="task_status", attrName="taskStatus", label="任务状态", comment="任务状态（0删除、1待接收、2进行中、3已结束）"),
		@Column(name="task_progress", attrName="taskProgress", label="任务完成进度", comment="任务完成进度（1进度滞后、2逾期反馈、3序时推进、4已完成）"),
		@Column(name="task_receive_time", attrName="taskReceiveTime", label="反馈时间"),
		@Column(name="create_by", attrName="createBy", label="创建人", isUpdate=false, isQuery=false),
		@Column(name="create_date", attrName="createDate", label="创建时间", isUpdate=false, isQuery=false),
		@Column(name="update_by", attrName="updateBy", label="更新人", isQuery=false),
		@Column(name="update_date", attrName="updateDate", label="更新时间", isQuery=false, isUpdateForce=true),
		@Column(name="remarks", attrName="remarks", label="备注", queryType=QueryType.LIKE),
		@Column(includeEntity=BaseEntity.class),
		@Column(name="remarks1", attrName="remarks1", label="备用字段1", queryType=QueryType.LIKE,isQuery=false),
		@Column(name="remarks2", attrName="remarks2", label="备用字段2", queryType=QueryType.LIKE),
		@Column(name="remarks3", attrName="remarks3", label="备用字段3", queryType=QueryType.LIKE),
		@Column(name="remarks4", attrName="remarks4", label="备用字段4", queryType=QueryType.LIKE),
		@Column(name="explain_code", attrName="explainCode", label="领导编码", queryType=QueryType.LIKE),
		@Column(name="explain_name", attrName="explainName", label="领导姓名", queryType=QueryType.LIKE),
		@Column(name="explain_time", attrName="explainTime", label="领导批示时间", queryType=QueryType.LIKE),
		@Column(name="decompose_task_id", attrName="decomposeTaskId", label="分解主任务id"),
		@Column(name="is_decompose", attrName="isDecompose", label="是否分解任务"),
	}, orderBy="a.update_date DESC"
)
public class DcSupTaskAction extends DataEntity<DcSupTaskAction> {
	public String getDecomposeTaskId() {
		return decomposeTaskId;
	}

	public void setDecomposeTaskId(String decomposeTaskId) {
		this.decomposeTaskId = decomposeTaskId;
	}

	@ApiModelProperty(hidden = true)
	private static final long serialVersionUID = 1L;
	 /**
	 * 任务id
	 */
	@ApiModelProperty("任务id")
	private String taskId;
	 /**
	 * 牵头责任单位编号
	 */
	@ApiModelProperty("牵头责任单位编号")
	private String leaderOrgCode;
	 /**
	 * 牵头责任单位名称
	 */
	@ApiModelProperty("牵头责任单位名称")
	private String leaderOrgName;
	 /**
	 * 是否转发
	 */
	@ApiModelProperty("是否转发")
	private String transferFlag;
	 /**
	 * 转发单位编号
	 */
	@ApiModelProperty("转发单位编号")
	private String transferOrgCode;
	 /**
	 * 转发单位名称
	 */
	@ApiModelProperty("转发单位名称")
	private String transferOrgName;
	 /**
	 * 0 待批示  1 确认申请批示  2领导批示完成
	 */
	@ApiModelProperty("0 待批示  1 确认申请批示  2领导批示完成")
	private String explainFlag;
	 /**
	 * 领导批示
	 */
	@ApiModelProperty("领导批示")
	private String explainContent;
	 /**
	 * 任务状态（0删除、1待接收、2进行中、3已结束）
	 */
	@ApiModelProperty("任务状态（0删除、1待接收、2进行中、3已结束）")
	private String taskStatus;
	 /**
	 * 任务完成进度（1进度滞后、2逾期反馈、3序时推进、4已完成）
	 */
	@ApiModelProperty("任务完成进度（1进度滞后、2逾期反馈、3序时推进、4已完成）")
	private String taskProgress;
	 /**
	 * 备用字段1
	 */
	@ApiModelProperty("备用字段1")
	private Long remarks1;
	 /**
	 * 备用字段2
	 */
	@ApiModelProperty("备用字段2")
	private String remarks2;
	 /**
	 * 备用字段3
	 */
	@ApiModelProperty("备用字段3")
	private String remarks3;
	 /**
	 * 备用字段4
	 */
	@ApiModelProperty("备用字段4")
	private String remarks4;

	/**
	 * 领导编码
	 */
	@ApiModelProperty("领导编码")
	private String explainCode;

	/**
	 * 领导姓名
	 */
	@ApiModelProperty("领导姓名")
	private String explainName;

	/**
	 * 领导批示时间
	 */
	@ApiModelProperty("领导批示时间")
	private Date explainTime;
	@ApiModelProperty(hidden = true)
	private Date taskReceiveTime;

	@ApiModelProperty(hidden = true)
	private Integer overTime;
	/**
	 * 督办字号
	 */
	@ApiModelProperty("督办字号")
	private String messageNumber;

	public String getTimeParam() {
		return timeParam;
	}

	public void setTimeParam(String timeParam) {
		this.timeParam = timeParam;
	}

	public String getStartTime() {
		return startTime;
	}

	public void setStartTime(String startTime) {
		this.startTime = startTime;
	}

	public String getEndTime() {
		return endTime;
	}

	public void setEndTime(String endTime) {
		this.endTime = endTime;
	}

	@ApiModelProperty(hidden = true)
	private String taskTitle;
	@ApiModelProperty(hidden = true)
	private String taskContent;
	@ApiModelProperty(hidden = true)
	private String taskLeaderName;
	@ApiModelProperty(hidden = true)
	private String taskLeader;

	public String getTaskLeader() {
		return taskLeader;
	}

	public void setTaskLeader(String taskLeader) {
		this.taskLeader = taskLeader;
	}

	@ApiModelProperty(hidden = true)
	private String taskTypeName;
	@ApiModelProperty(hidden = true)
	private String taskYear;
	@ApiModelProperty(hidden = true)
	private String taskTypeCode;

	public String getTaskTypeCode() {
		return taskTypeCode;
	}

	public void setTaskTypeCode(String taskTypeCode) {
		this.taskTypeCode = taskTypeCode;
	}

	/**  1   2     3   4   5   null
	 * 本周 上周 本月 本季 本年 所有
	 */
	@ApiModelProperty("本周 上周 本月 本季 本年 所有")
	private String timeParam;
	@ApiModelProperty(hidden = true)
	private String startTime;
	@ApiModelProperty(hidden = true)
	private String endTime;
	@ApiModelProperty(hidden = true)
	private String normalFlag;
	/** feedback表中反馈的最新一条数据的feedback_progress,未反馈则为null **/
	@ApiModelProperty("")
	private Integer num;
	/**  feedback表中反馈超过截止时间最新的那一条是否有反馈,有为1,没有则0 **/
	@ApiModelProperty("")
	private Integer num1;

	public Integer getNum1() {
		return num1;
	}

	public void setNum1(Integer num1) {
		this.num1 = num1;
	}

	public Integer getNum() {
		return num;
	}

	public void setNum(Integer num) {
		this.num = num;
	}
	/**
	 * 分解任务主任务id
	 */
	@ApiModelProperty("分解任务主任务id")
	private String decomposeTaskId;
	@ApiModelProperty(hidden = true)
	private String isDecompose;
	@ApiModelProperty(hidden = true)
	private String searchType;

	public String getSearchType() {
		return searchType;
	}

	public void setSearchType(String searchType) {
		this.searchType = searchType;
	}
	public String getIsDecompose() {
		return isDecompose;
	}

	public void setIsDecompose(String isDecompose) {
		this.isDecompose = isDecompose;
	}

	public String getNormalFlag() {
		return normalFlag;
	}

	public void setNormalFlag(String normalFlag) {
		this.normalFlag = normalFlag;
	}

	public Date getTaskReceiveTime() {
		return taskReceiveTime;
	}

	public void setTaskReceiveTime(Date taskReceiveTime) {
		this.taskReceiveTime = taskReceiveTime;
	}

	public String getTaskYear() {
		return taskYear;
	}

	public void setTaskYear(String taskYear) {
		this.taskYear = taskYear;
	}

	public String getTaskTitle() {
		return taskTitle;
	}

	public void setTaskTitle(String taskTitle) {
		this.taskTitle = taskTitle;
	}

	public String getTaskContent() {
		return taskContent;
	}

	public void setTaskContent(String taskContent) {
		this.taskContent = taskContent;
	}

	public String getTaskLeaderName() {
		return taskLeaderName;
	}

	public void setTaskLeaderName(String taskLeaderName) {
		this.taskLeaderName = taskLeaderName;
	}

	public String getTaskTypeName() {
		return taskTypeName;
	}

	public void setTaskTypeName(String taskTypeName) {
		this.taskTypeName = taskTypeName;
	}

	public Integer getOverTime() {
		return overTime;
	}

	public void setOverTime(Integer overTime) {
		this.overTime = overTime;
	}

	public String getExplainCode() {
		return explainCode;
	}

	public void setExplainCode(String explainCode) {
		this.explainCode = explainCode;
	}

	public String getExplainName() {
		return explainName;
	}

	public void setExplainName(String explainName) {
		this.explainName = explainName;
	}

	public Date getExplainTime() {
		return explainTime;
	}

	public void setExplainTime(Date explainTime) {
		this.explainTime = explainTime;
	}

	public DcSupTaskAction() {
		this(null);
	}

	public DcSupTaskAction(String id){
		super(id);
	}
	
	@Size(min=0, max=64, message="任务id长度不能超过 64 个字符")
	public String getTaskId() {
		return taskId;
	}

	public void setTaskId(String taskId) {
		this.taskId = taskId;
	}
	
	@Size(min=0, max=100, message="牵头责任单位编号长度不能超过 100 个字符")
	public String getLeaderOrgCode() {
		return leaderOrgCode;
	}

	public void setLeaderOrgCode(String leaderOrgCode) {
		this.leaderOrgCode = leaderOrgCode;
	}
	
	@Size(min=0, max=100, message="牵头责任单位名称长度不能超过 100 个字符")
	public String getLeaderOrgName() {
		return leaderOrgName;
	}

	public void setLeaderOrgName(String leaderOrgName) {
		this.leaderOrgName = leaderOrgName;
	}
	
	@Size(min=0, max=10, message="是否转发长度不能超过 10 个字符")
	public String getTransferFlag() {
		return transferFlag;
	}

	public void setTransferFlag(String transferFlag) {
		this.transferFlag = transferFlag;
	}
	
	@Size(min=0, max=100, message="转发单位编号长度不能超过 100 个字符")
	public String getTransferOrgCode() {
		return transferOrgCode;
	}

	public void setTransferOrgCode(String transferOrgCode) {
		this.transferOrgCode = transferOrgCode;
	}
	
	@Size(min=0, max=100, message="转发单位名称长度不能超过 100 个字符")
	public String getTransferOrgName() {
		return transferOrgName;
	}

	public void setTransferOrgName(String transferOrgName) {
		this.transferOrgName = transferOrgName;
	}
	
	@Size(min=0, max=10, message="是否批示长度不能超过 10 个字符")
	public String getExplainFlag() {
		return explainFlag;
	}

	public void setExplainFlag(String explainFlag) {
		this.explainFlag = explainFlag;
	}
	
	public String getExplainContent() {
		return explainContent;
	}

	public void setExplainContent(String explainContent) {
		this.explainContent = explainContent;
	}
	
	@Size(min=0, max=10, message="任务状态长度不能超过 10 个字符")
	public String getTaskStatus() {
		return taskStatus;
	}

	public void setTaskStatus(String taskStatus) {
		this.taskStatus = taskStatus;
	}
	
	@Size(min=0, max=10, message="任务完成进度长度不能超过 10 个字符")
	public String getTaskProgress() {
		return taskProgress;
	}

	public void setTaskProgress(String taskProgress) {
		this.taskProgress = taskProgress;
	}
	
	public Long getRemarks1() {
		return remarks1;
	}

	public void setRemarks1(Long remarks1) {
		this.remarks1 = remarks1;
	}
	
	@Size(min=0, max=200, message="备用字段2长度不能超过 200 个字符")
	public String getRemarks2() {
		return remarks2;
	}

	public void setRemarks2(String remarks2) {
		this.remarks2 = remarks2;
	}
	
	@Size(min=0, max=200, message="备用字段3长度不能超过 200 个字符")
	public String getRemarks3() {
		return remarks3;
	}

	public void setRemarks3(String remarks3) {
		this.remarks3 = remarks3;
	}
	
	@Size(min=0, max=200, message="备用字段4长度不能超过 200 个字符")
	public String getRemarks4() {
		return remarks4;
	}

	public void setRemarks4(String remarks4) {
		this.remarks4 = remarks4;
	}

	public String getMessageNumber() {
		return messageNumber;
	}

	public void setMessageNumber(String messageNumber) {
		this.messageNumber = messageNumber;
	}
}